package com.jf.cloud.service.sysmanager.dao.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.jf.cloud.service.sysmanager.common.base.BaseService;
import com.jf.cloud.service.sysmanager.common.db.BaseDao;
import com.jf.cloud.service.sysmanager.dao.ISysRoleTypeService;
import com.jf.cloud.service.sysmanager.entity.SysRoleType;
import com.jf.cloud.service.sysmanager.entity.SysStaff;

/**
 * <p>
 * 角色类型 服务实现类
 * </p>
 * 
 * @author LangK
 * @since 2017-12-04
 */
@Service
public class SysRoleTypeServiceImpl extends BaseService<SysRoleType, Long> implements ISysRoleTypeService {

	@Resource
	private BaseDao baseDao;

	/**
	 * 修改角色类型对象
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午7:01:21
	 */
	@Transactional
	public void updateRole(SysRoleType sysRoleType) {
		String sql = "UPDATE sys_role_type SET ROLE_TYPE = ?, ROLE_REMARK = ? WHERE ROW_ID = ? ";
		this.baseDao.update(sql, sysRoleType.getRoleType(), sysRoleType.getRoleRemark(), sysRoleType.getRowId());
	}

	/**
	 * 删除角色类型对象
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午7:01:30
	 */
	@Transactional
	public void deleteRole(Long rowId, SysStaff user) {
		String sql = "UPDATE sys_role_type SET DEL_FLAG = 1 WHERE ROW_ID = ?";
		this.baseDao.update(sql, rowId);
	}

	/**
	 * 获取角色类型的字典
	 * 
	 * @author 朱建文 创建时间：2017年12月6日 下午4:32:23
	 */
	public List<Map<String, Object>> findDataDictList(boolean isAll){
		List<Map<String, Object>> dataList = new ArrayList<Map<String,Object>>();
		String sql = "SELECT ROW_ID AS value, ROLE_TYPE AS label FROM sys_role_type WHERE DEL_FLAG = 0";
		if (!isAll) {
			sql += " AND ROW_ID <> 1 ";
		}
		dataList = this.baseDao.findMapList(sql);
		return dataList;
	}
}
